Comparison of JavaScript-based source code editors

This article provides basic feature comparison between some of the JavaScript-based source code editors available today. This article is not all-inclusive or necessarily up-to-date.

Contents

Overview

List of source code editors
Editor Site Latest version Style / Clone of Cost (US$) Software license Open source Browser compatibility
Ace (editor) Home, Demo 0.2.0, 2011-08-09 Emacs / regular textarea Free Mozilla tri-license ( MPL, GPL, LGPL) Yes Firefox 3.5+, Safari 4+, Chrome, IE 9+
CodeMirror Home, Demo 2.15, 2011-09-26 Emacs / regular textarea Free MIT-like license Yes Firefox 2+, Chrome, Safari 3+, Internet Explorer 6+, Opera 9+ (with some key-handling problems on OS X)[1]
CodePress dead home page, Demo, SourceForge 0.9.6, 2007-09-26 Microsoft Visual Studio Free LGPL Yes ?
CodeTextArea Home page, Demo, Experimental demo Jun. 2009. Microsoft Visual Studio Free BSD license Yes ?
EditArea Home, Demo 0.8.2, 2010-01-14 Microsoft Visual Studio Free LGPL Yes IE 6+, Firefox 1.5+, Safari 3+, Opera 9+ and Chrome[2]
Helene Home, Demo 0.9, unknown release date Microsoft Visual Studio Free GPL Yes
Markitup Home, Demo 1.1.6, 2010-01-12 markup editor, no syntax highlight Free MIT, GPL Yes IE 6 & 7, Firefox 2 & 3, Safari 3.1, Opera 9+[3]
9ne Home Page ? emacs Free GPL Yes
jsvi Home Page ? vi Free GPL Yes
Ymacs Home, Demo 0.4, 2010-Jan-17 emacs Free BSD-like license Yes Firefox, Chrome, Safari
MDK-Editor Home Page 2.10, 2008 Microsoft Visual Studio Depends on the use Dual license Code is readable tested to work on: IE 6, 7 - Firefox 2, 3 - Chrome
Mozilla Skywriter Home, Demo 0.9a1, 2010-06-29 Emacs / regular textarea Free MPL Yes Firefox 3.5+, Safari 4+, Chrome

List of features

Feature testing was performed with Firefox 3.0.6 against the current demo version, and results may not match those in other browsers or downloadable versions.

List of source code editor features
Feature CodeMirror CodePress CodeTextArea EditArea Helene markItUp! MDK-Editor Mozilla Skywriter
Implementation nestable full parsers pattern-based parser parsers
Syntax highlight JS, CSS, XML, mixed mode, PHP, SPARQL; community-extended with new parsers: Python, Lua, Ruby limited mixed mode: HTML + JavaScript (no CSS), PHP + HTML (no JavaScript or CSS), Java, Perl, SQL only keywords only one language at a time: Perl, PHP, CSS, Javascript, Python, HTML, XML, VB, C, CPP, SQL, Pascal, Basic, Brainf*ck PHP No mixed mode: PHP + HTML + JavaScript + CSS, single-mode: PHP, Javascript, CSS, XML; extensible Yes
Syntax checking Some No No HTML, JavaScript (using JSLint) HTML, JavaScript (using JSLint)
Tab support Yes Some Yes Yes Yes
Indent, new line keeps level Yes very limited No Yes N/A (can't press Enter) No Yes optional setting that is off by default
Indent, syntax Yes No No Yes
Indent, selected block either automatically, or block-level indent/unindent No yes, including Shift+Tab yes, including Shift+Tab and using context menu yes, including Shift+Tab and using context menu
Bracket matching Yes an implementation exists with mouse-hover bracket matching Ctrl+B; no angle bracket matching No matching bracket ([{<>}]) always highlighted can write your own plugin for it
XML matching tag highlight No No Yes can write your own plugin for it
Code folding Some[4] No No No No No No No
Code snippets can be done though API type 'for' or 'if' then Tab No Yes No Yes JavaScript No
Code suggestion example No yes No CSS, HTML, JavaScript) No
Toggle syntax highlight on/off Yes last example in demo N/A textmode No
Keyboard shortcuts can be added through API some common used: Ctrl+f, Ctrl+g,Ctrl+z,Ctrl+y Yes All key combos (except F1 in IE7) can be bound to shortcuts All Common Shortcuts & Custom Keybindings
Line numbers Yes Yes Yes Yes Yes No supports mouse selection Yes
Search & replace via API No toolbar button has API for the studio regex supported
Spell checking No browser-based none browser-based none browser-based No No
Toolbar No No Yes No Yes No But command line console
Visual styling font-type and font-size 5 styles to choose from, having 2 font-sizes Fully theme-able
Undo/Redo Yes Yes Yes Differential Undo Yes

Offspring projects

Below is a list of projects based on each engine.

Ace powered

CodeMirror powered

CodePress powered

EditArea powered

MDK Editor powered

Mozilla Skywriter powered

Other

References

  1. ^ CodeMirror supported browsers
  2. ^ EditArea compatibility chart
  3. ^ [1]
  4. ^ http://codemirror.net/demo/folding.html

External links